package com.work.work.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.work.work.dto.ProjectCreateDTO;
import com.work.work.dto.ProjectDTO;
import com.work.work.entity.Project;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

public interface ProjectService extends IService<Project> {
//    boolean createProject(Project project);
    boolean createProject(ProjectCreateDTO projectDTO);
    boolean deleteProject(Integer projectId);

    void generateProjectReport(HttpServletResponse response) throws IOException;

    Double sumTotalBudget();
    Integer sumTotalManpower();
    Page<ProjectDTO> pageWithTeamName(Page<ProjectDTO> page);
    Page<ProjectDTO> searchByProjectName(String projectName, Page<ProjectDTO> page);
    void updateProjectProgress(Integer projectId);

    long countTotalProjects();
}